package client_tree;

import javax.swing.tree.DefaultMutableTreeNode;

/**
 * Klasa predstavlja ROOT cvor stabla. Ovaj cvor skladisti kao svoju decu cvorove tipa
 * ClientModelNode. Posto se ClientModelNode cvorovi ne mogu uklanjati iz stabla, klasa
 * svojim interfejsom obezbejuje samo meto za dodavanje ovakvih cvorova.
 * 
 * @author UrosKrkic & Radivoje Popovic
 */
public class RootNode extends DefaultMutableTreeNode {
	
	/**
	 * Ime root covora.
	 */
	private String name;
	
	
	/**
	 * Konstruktor.
	 * @param name - ime root cvora
	 * @author UrosKrkic & Radivoje Popovic
	 */
	public RootNode(String name) {
		this.name = name;
		
		// kao user (korisnicki objekat), cuva se ime root cvora
		this.setUserObject(this.name);
	}
	
	
	/**
	 * Metoda obezbedjuje ispis imena root cvora u stablu, ukoliko je omoguceno
	 * prikazivanje root cvora.
	 * @author UrosKrkic & Radivoje Popovic
	 */
	public String toString() {
		return this.name;
	}
	
	
	/**
	 * Metoda vrsi dodavanje ClientModelNode cvora u root cvor stabla.
	 * @param node - cvor koji se dodaje u root cvor (moguce vrednosti Online ili Offline)
	 * @author UrosKrkic & Radivoje Popovic
	 */
	public void addClientModel(ClientModelNode node) {
		add(node);
	}

}
